package com.cbh.feign.controller.quote;



import java.util.List;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.cbh.api.model.ApiResult;
import com.cbh.api.model.quote.CBH_CarInsurance;
import com.cbh.api.model.quote.CBH_OfferPolicy;

public interface OfferControllerBackgroundControllerBase {

	@RequestMapping(value = "/sign/v3/offer/backg/getByOrderNo", method = RequestMethod.GET, produces = "application/json")
	public ApiResult<CBH_OfferPolicy> getByOrderNo(
			@RequestParam(value = "accountToken", required = true) String accountToken,
			@RequestParam(value = "opOrderNo", required = true) String opOrderNo);

	@RequestMapping(value = "/sign/v3/offer/backg/up", method = RequestMethod.POST, produces = "application/json")
	public ApiResult<CBH_OfferPolicy> upById(@RequestParam(value = "accountToken", required = true) String accountToken,
			@RequestParam(value = "opid", required = true) String opid,
			@RequestParam(value = "opState", required = false) String opState,
			@RequestParam(value = "opMsg", required = false) String opMsg,
			@RequestParam(value = "opBusinessInsuredNo", required = false) String opBusinessInsuredNo,
			@RequestParam(value = "opBusinessNo", required = false) String opBusinessNo,
			@RequestParam(value = "opCode", required = false) String opCode,
			@RequestParam(value = "opCodeValue", required = false) String opCodeValue,
			@RequestParam(value = "opOrderNo", required = false) String opOrderNo,
			@RequestParam(value = "opPayUrl", required = false) String opPayUrl,
			@RequestParam(value = "opTraficInsuredNo", required = false) String opTraficInsuredNo);

	@RequestMapping(value = "/sign/v3/offer/backg/upAndCis", method = RequestMethod.POST, produces = "application/json")
	public ApiResult<String> upAndCis(@RequestParam(value = "accountToken", required = true) String accountToken,
			@RequestParam(value = "opid", required = false) String opid,
			@RequestParam(value = "opBusinessInsuredNo", required = false) String opBusinessInsuredNo,
			@RequestParam(value = "opBusinessNo", required = false) String opBusinessNo,
			@RequestParam(value = "opOrderNo", required = false) String opOrderNo,
			@RequestParam(value = "opTraficInsuredNo", required = false) String opTraficInsuredNo,
			@RequestParam(value = "opTraficNo", required = false) String opTraficNo,
			@RequestParam(value = "opTax", required = false) Double opTax,
			@RequestParam(value = "opTotal", required = false) Double opTotal,
			@RequestParam(value = "opTrafic", required = false) Double opTrafic,
			@RequestBody(required = false) List<CBH_CarInsurance> cis);

}
